SEMAINE DU 1 JUILLET 2024 au 5 JUILLET 2024 :

OBJECTIF : Analyser la base de données

ANALYSE DE LA BASE DE DONNÉES

I ) Import de la nouvelle base de données formattée

# Import des données

data <- readRDS("/home/solene_petito/Bureau/Stage/Broken_devices/data/data1.rds") # base de données sur laquelle on va appliquer tous les changements

Broken_Devices_Data <- read.csv("/home/solene_petito/Bureau/Stage/Broken_devices/data/Broken-Devices-Data1-xlsx.csv",row.names=1) # base de données initiale sur laquelle on pourra se référer pour voir si les chgts ont bien été appliqués

# nombre d'observations
nb_obs <- nrow(data) # 968 

# nombre de variables 
nb_var <- ncol(data) # 164

II ) Comportement face au(x) dysfonctionnement(s)

La question posée était : Pour quelles raisons continuez-vous à utiliser votre smartphone malgré les problèmes rencontrés ou qui subsistent ?

Les réponses possibles étaient :

  • 1 : Cela serait trop coûteux de résoudre le(s) problème(s) ou de remplacer mon smartphone

  • 2 : J’attends une opportunité

  • 3 : Je ne peux pas résoudre le problème car le smartphone ne m’appartient pas

  • 4 : Je ne sais pas comment résoudre le(s) problème(s)

  • 5 : Je veux faire durer mon téléphone le plus longtemps possible

  • 6 : Ce(s) problème(s) ne m’impacte(nt) pas tant que ça au quotidien

  • 7 : Je n’ai pas pris le temps de m’en occuper, de chercher une solution

  • 8 : Mon téléphone est trop récent pour que je le fasse réparer ou que je le remplace

  • 9 : La résolution du (ou des) problème(s) est trop difficile ou incertaine

  • 10 : Ça me donne un prétexte pour moins l’utiliser

  • 11 : Cela ne vaut pas la peine de résoudre le(s) problème(s)

  • 12 : Mon smartphone a une particularité difficile à retrouver si je devais le remplacer

  • 13 : Autre

variable=data$RRAISON_UTIL_PB_FORM
nb_de_modalites <- 14
mat=Count_VCM(variable,nb_de_modalites)
print(mat)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]    1    2    3    4    5    6    7    8    9    10    11    12    13    14
## [2,]   55   31    3   16   85   65   35   26    8     4    32     5     5   782
print(nrow(data[which(data$RRAISON_UTIL_PB_FORM!="14"),]))
## [1] 186

III ) Degrés de gêne par temps de cohabitation de ceux qui n’ont pas réparé

IV ) Graphe qui rassemble les cohabitations pour ceux qui ont résolu, ceuix qui ont tenté de résoudre et qui n’ont pas réussi et ceux qui n’ont tenté de résoudre

V ) Niveau de gêne de ceux qui ont réparé vs ceux qui n’ont pas réparé

VI ) Pour les usages : faire au cas lorsque le propriètaire rencontre un pb

Categorie <- factor(label_RIDENTIFICATION_PROBLEME[6:11], levels = label_RIDENTIFICATION_PROBLEME[6:11])

# Création du dataframe combiné
df_combined <- data.frame(Categorie = Categorie, valeurs = matrice[1,6:11], Impact = label_IMPACT[1])

for (i in 1:nrow(matrice)) {
  df_T1 <- data.frame(Categorie = Categorie, valeurs = matrice[i,6:11], Impact = label_IMPACT[i])
  df_combined <- rbind(df_combined, df_T1)
}

# Génération du graphique
p <- ggplot(df_combined, aes(x = Categorie, y = valeurs, fill = as.factor(Impact))) +
  geom_bar(stat = "identity", position = "stack") +
  labs(title = "Impact du dysfonctionnement",
       x = "Dysfonctionnements",
       y = "Nombre de personnes ")  +
  scale_fill_viridis_d(name = "Impact") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold", colour = "turquoise4"),
        axis.title.x = element_text(face = "bold", colour = "turquoise4"), 
        axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1),
        axis.title.y = element_text(face = "bold", colour = "turquoise4"))

# Conversion du graphique en graphique interactif
p_interactif <- ggplotly(p)

# Affichage du graphique interactif
p_interactif
Categorie <- factor(label_RIDENTIFICATION_PROBLEME[12:17], levels = label_RIDENTIFICATION_PROBLEME[12:17])

# Création du dataframe combiné
df_combined <- data.frame(Categorie = Categorie, valeurs = matrice[1,12:17], Impact = label_IMPACT[1])

for (i in 1:nrow(matrice)) {
  df_T1 <- data.frame(Categorie = Categorie, valeurs = matrice[i,12:17], Impact = label_IMPACT[i])
  df_combined <- rbind(df_combined, df_T1)
}

# Génération du graphique
p <- ggplot(df_combined, aes(x = Categorie, y = valeurs, fill = as.factor(Impact))) +
  geom_bar(stat = "identity", position = "stack") +
  labs(title = "Impact du dysfonctionnement",
       x = "Dysfonctionnements",
       y = "Nombre de personnes ")  +
  scale_fill_viridis_d(name = "Impact") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold", colour = "turquoise4"),
        axis.title.x = element_text(face = "bold", colour = "turquoise4"), 
        axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1),
        axis.title.y = element_text(face = "bold", colour = "turquoise4"))

# Conversion du graphique en graphique interactif
p_interactif <- ggplotly(p)

# Affichage du graphique interactif
p_interactif
Categorie <- factor(label_RIDENTIFICATION_PROBLEME[18:23], levels = label_RIDENTIFICATION_PROBLEME[18:23])

# Création du dataframe combiné
df_combined <- data.frame(Categorie = Categorie, valeurs = matrice[1,18:23], Impact = label_IMPACT[1])

for (i in 1:nrow(matrice)) {
  df_T1 <- data.frame(Categorie = Categorie, valeurs = matrice[i,18:23], Impact = label_IMPACT[i])
  df_combined <- rbind(df_combined, df_T1)
}

# Génération du graphique
p <- ggplot(df_combined, aes(x = Categorie, y = valeurs, fill = as.factor(Impact))) +
  geom_bar(stat = "identity", position = "stack") +
  labs(title = "Impact du dysfonctionnement",
       x = "Dysfonctionnements",
       y = "Nombre de personnes ")  +
  scale_fill_viridis_d(name = "Impact") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold", colour = "turquoise4"),
        axis.title.x = element_text(face = "bold", colour = "turquoise4"), 
        axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1),
        axis.title.y = element_text(face = "bold", colour = "turquoise4"))

# Conversion du graphique en graphique interactif
p_interactif <- ggplotly(p)

# Affichage du graphique interactif
p_interactif
Categorie <- factor(label_RIDENTIFICATION_PROBLEME[24:25], levels = label_RIDENTIFICATION_PROBLEME[24:25])

# Création du dataframe combiné
df_combined <- data.frame(Categorie = Categorie, valeurs = matrice[1,24:25], Impact = label_IMPACT[1])

for (i in 1:nrow(matrice)) {
  df_T1 <- data.frame(Categorie = Categorie, valeurs = matrice[i,24:25], Impact = label_IMPACT[i])
  df_combined <- rbind(df_combined, df_T1)
}

# Génération du graphique
p <- ggplot(df_combined, aes(x = Categorie, y = valeurs, fill = as.factor(Impact))) +
  geom_bar(stat = "identity", position = "stack") +
  labs(title = "Impact du dysfonctionnement",
       x = "Dysfonctionnements",
       y = "Nombre de personnes ")  +
  scale_fill_viridis_d(name = "Impact") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold", colour = "turquoise4"),
        axis.title.x = element_text(face = "bold", colour = "turquoise4"), 
        axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1),
        axis.title.y = element_text(face = "bold", colour = "turquoise4"))

# Conversion du graphique en graphique interactif
p_interactif <- ggplotly(p)

# Affichage du graphique interactif
p_interactif
indice_colonne <- which(names(data) == "GENE_PROBLEMES_A1")
print(indice_colonne) # 106
## [1] 31
indice_colonne <- which(names(data) == "REPARATION_A1")
print(indice_colonne) # 81
## [1] 81
indice_colonne <- which(names(data) == "GENE_PROBLEMES_A25")
print(indice_colonne) # 80
## [1] 55
indice_colonne <- which(names(data) == "REPARATION_A25")
print(indice_colonne) #105
## [1] 105
81-31
## [1] 50